import * as Cesium from '@cesiumjs';
import Graticule from "./Graticule";

// var scene = viewer.scene;
// var graticule = new Graticule({
//   tileWidth: 512,
//   tileHeight: 512,
//   numLines: 10,
//   color: Cesium.Color.GREEN, //线颜色
//   fontColor: Cesium.Color.WHITE, // 文字颜色
//   weight: 0.8, // 线宽度|默认0.8
//   zoomInterval: [
//     Cesium.Math.toRadians(0.05),
//     Cesium.Math.toRadians(0.1),
//     Cesium.Math.toRadians(0.2),
//     Cesium.Math.toRadians(0.5),
//     Cesium.Math.toRadians(1.0),
//     Cesium.Math.toRadians(2.0),
//     Cesium.Math.toRadians(5.0),
//     Cesium.Math.toRadians(10.0)
//   ] // 不同地图缩放级别显示网格的间隔
// }, scene);
// viewer.scene.imageryLayers.addImageryProvider(graticule);
// graticule.setVisible(!graticule.isVisible());

export default {
  graticule() {
    return {
      name: "graticule",
      title: "经纬网",
      create: (options, viewer) => {

        console.log("graticule create ...")

        if (!viewer) {
          console.error("viewer is required!")
          return;
        }
        var scene = viewer.scene;
        //开启抗锯齿
        scene.fxaa = true;
        scene.postProcessStages.fxaa.enabled = true;

        const zoomInterval = [ // 不同地图缩放级别显示网格的间隔
          Cesium.Math.toRadians(0.05),
          Cesium.Math.toRadians(0.1),
          Cesium.Math.toRadians(0.2),
          Cesium.Math.toRadians(0.5),
          Cesium.Math.toRadians(1.0),
          Cesium.Math.toRadians(2.0),
          Cesium.Math.toRadians(5.0),
          Cesium.Math.toRadians(7.5),
          Cesium.Math.toRadians(10.0)
        ];

        var graticule = new Graticule({
          tileWidth: 512,
          tileHeight: 512,
          numLines: 10,
          color: Cesium.Color.GREEN.withAlpha(0.5), //线颜色
          fontColor: Cesium.Color.WHITE, // 文字颜色
          weight: 0.5, // 线宽度|默认0.8
          zoomInterval,
          ...options
        }, scene);

        graticule.setVisible(true);

        return graticule;
      }
    }
  },
}
